home *** CD-ROM | disk | FTP | other *** search
-
-
- README for Galileo, Indigo2 Video and IndyVideo Demos
-
- the file demo.scf is included in the galileo.sw.demos subsystem.
- and gets loaded as /usr/demos/bin/video/galileo/demo.scf
-
- This directory contains the following demos and files:
-
- specialfx:
- ----------
-
- 'specialfx' demonstrates many of the special effects features possible with
- Galileo, Indigo2 Video and IndyVideo, particularly in the areas of chroma
- keying, luma keying, and transitions (also known as wipes & fades, blends,
- and/or switches). These effects, by definition, generally operate upon two
- input sources. 'specialfx' demonstrates these effects with the two input
- sources consisting of one video input source (e.g. a camera connected to
- your video board input), and one graphics source (i.e. pixel data which is
- drawn on your computer display). The results are sent to the video output,
- and also displayed on the screen.
-
- The current version is not designed to show all additional possibilities
- available with the digital break-out-box option(s). However, the video
- input source may be set to any of the digital inputs or outputs (see below,
- under "options").
-
- Running 'specialfx':
-
- Exit existing video applications (e.g., videoin).
-
- Within the directory /usr/demos/bin/video/galileo, type 'specialfx'.
- You may also decide to use the simple shell script 'run_specialfx',
- which can be copied to and run from any directory. NOTE: you must
- edit this file if you wish to use 'run_specialfx' to launch specialfx
- with any of its command line options.
-
- The icon for 'run_specialfx' is one you can drag anywhere within
- your desktop environment so that you may run the 'specialfx' program
- whenever you double-click on it, as long as this directory remains
- intact.
-
- 'specialfx' assumes you have an active video input source which is
- appropriately selected using the videopanel. 'specialfx' is best
- demonstrated when a high quality video monitor is available to view
- the video output.
-
- In order to quit, select 'Quit' under 'File' on the main panel,
- or you may also press the 'q' key while the mouse is inside the
- video blending window.
-
- The layout for the program upon startup, is as follows:
-
- - An unmarked region is defined in the upper left corner of your
- monitor's screen as an input graphics window. The dimensions of
- this region are either NTSC or PAL sized to match your input source
- type. Whatever is drawn to and appears in this region will serve
- as a graphics input source to the program. This region's location
- currently cannot be changed.
-
- - The active video input source is used as a second input source.
-
- - A video blending window appears in the lower left. The result of
- the special effects are displayed here, as well as sent to the
- video output of your video board.
-
- Characteristics of this blending window include:
-
- - The window may later be moved if desired.
- - The window contents are 24 bit color, however if an additional
- video input window is opened, then both the blending window and
- the third window will become 12-bit dithered versions of the
- video output.
- - The window and its contents may be zoomed up and down using the
- '+' and '-' keys (with the mouse positioned inside the window).
- A zoomed up window may be panned using the arrow keys.
- - NTSC users will see an NTSC sized window by default. PAL users
- will see a PAL window, zoomed down 1/2 in each dimension, which
- may then be zoomed up and viewed with truncation and with use of
- panning, if so desired.
-
- - A main program control panel.
-
- The contents of the main control panel are as follows:
-
- Menu Bar with pulldowns for:
- File Controls Apps Utilities Help
-
- Four buttons:
- - Grab & Save
- - Grab & Display
- - Gfx over Video
- - Video over Gfx
-
- Found under 'Controls', the 'Display All Control Windows' menu choice brings up
- three windows which control three modes of blending. These three modes are:
- luma keying, chroma keying, and switches (transitions). For all modes, one
- of your two input sources is defined to be the 'Foreground' source, and the
- other as the 'Background'. Touching any of the sliders or buttons on any one
- control window activates the blending associated with that window. The three
- modes of blending are:
-
- Luma keying: pixels are selected from your foreground source based upon
- their luminance (Y value in YUV color space), and blended
- with variable transparency with the corresponding pixels from
- your background source.
-
- Chroma keying: pixels are selected from your foreground source based upon
- their chrominance (U and V values in YUV color space), and
- blended with the corresponding pixels from your background
- source.
-
- Switches (or transitions): pixels are selected from your foreground source
- based upon their spatial location, and blended with the
- corresponding pixels in your background source. The usual use
- of such a spatially based effect is that a progression is made
- over time which in essence executes a transition from one
- source to the other.
-
- The Luma Key control window consists of four sliders:
-
- Ymin, Ymax, Sharp, and Dense.
- Ymin and Ymax specify a range of Y values for the execution of your key.
- Sharp performs a filter on the selection of the your Y values, and may
- be visually described as a sharpness of the key.
- Dense (Density) controls the density or opacity of the foreground pixels
- *not* selected by the Y range key.
-
- The Chroma Key control window consists of five sliders:
- Umin, Umax, Vmin, Vmax, and Sharp.
- These perform the same functions as the luma sliders, only for U and V
- instead of Y. Also, note there is no density or opacity control.
-
- NOTE: Please refer to your Video Library guide(s) for examples and discussion
- on keying, related subjects, and the parameters which are accessible
- to user control through the Video Library (VL).
-
- Both the Luma Key and Chroma Key control windows contain 'lock' buttons and
- preset buttons A B 1 2 3 4 5. The 'lock' buttons lock the min and max sliders
- together so that you maintain a constant range. The preset buttons allow you
- to save the current settings for future recall, much in the way radio station
- presets work. In order to save your current settings into button 1, simply
- press the 'set' button, and then press button 1, deactivating the 'set' button.
- When you press any preset button without the 'set' button being activated, then
- the sliders will be set to the last stored values. By default, the control
- windows come with a few useful preset values. The A button on the Chroma
- window is a key on a shade of blue found in the demo program 'atlantis'.
- The A button on the Luma window should work for black or near black values.
- At this time, there is no way to save these presets into a file, therefore
- the presets are only useful during the time in which 'specialfx' is running.
-
- The up and down arrow keys allow for incremental (+1 and -1) of the slider
- values on the Luma and Chroma Key control windows.
-
- The Switch Control consists of several transition buttons which execute
- transitions from one source to the other. There are also controls for
- the speed, sharpness and repeat (a geometry factor applying to some but
- not all transitions). Also, if the 'automatic' toggle is deactivated,
- the 'manual' slider allows one to control the progression of the switch.
-
- For all modes of blending, the 'Gfx over Video' and 'Video over Gfx' buttons
- allow you to specify which of the two input sources will be considered the
- foreground and which will be the background.
-
-
- The rest of the menu choices and buttons:
-
- Under Apps:Buttonfly,ImageWorks,Showcase,Movieplayer,Video Paint,Video T-mesh
- Each of these launches the correspondingly named application or demo
- program. These are included for easy access to interesting material to
- use as your graphics source. Vidpaint and vidtmesh are described below,
- the rest should have their own man pages. Some of these may not by default
- place their windows into the graphics source region (upper left), so it
- is up to you to do so. You need to have 'imgtools' installed in order
- to run ImageWorks (/usr/sbin/imgworks).
-
- Under Utils: Video Control Panel, Show Color Wheels
-
- The video control panel (videopanel) is essential in selecting your video
- input source (e.g. composite 1, composite 2, etc.) and providing access to
- all basic video control functions. Show Color Wheels displays some color
- wheels which are very instructional when placed into the graphics source
- region during luma and chroma keying operations, and can be used as an aid
- in identifying the desired values for your sliders. It is important to
- note that the color wheels represent an RGB color space and not a YUV
- color space.
-
- Grab & Save, Grab & Display
-
- These buttons allow you to capture a single full-sized frame of your
- video input source. The saved frame can then be displayed as part of
- your graphics source. The ImageWorks app allows you to view and perform
- some basic image processing algorithms from the image processing library
- on the saved frame.
-
- Customizing the specialfx demo environment:
-
- 'specialfx' has several shell scripts which called depending on which
- buttons on the main control panel are pressed. The contents of these
- scripts may be changed but the names of the scripts must remain the same
- for proper operation.
-
- Thus, there is room for tailoring of 'specialfx' to demonstrate 'favorite'
- applications, demos, etc.. The X resource file, 'Specialfx', which can be
- found in /usr/lib/X11/app-defaults, may also be modified for different
- fonts, button labels, etc..
-
- Under Apps, the following shell scripts are called. The labels for these
- buttons are found in the resource file 'Specialfx'
- app1.sh : run 'buttonfly' (access to installed graphics demos)
- app2.sh : run 'imgworks' - (show and process a snapped image)
- app3.sh : run 'showcase' (can show text overlays, etc.)
- app4.sh : run 'movieplayer' (can run a digitized movie)
- app5.sh : run 'vidpaint' demo (see below)
- app6.sh : run 'vidtmesh' demo (see below)
-
- The grab & display, grab & save buttons on the main menu:
- grabndisp.sh: run 'vidtomem' to grab a frame and display it
- grabnsave.sh: run 'vidtomem' to grab a frame
-
- Help and Util pulldowns:
- help.sh : view a showcase document with help (this document).
- util1.sh : run 'videopanel'
- util2.sh : display (using 'ipaste') color wheels for reference
-
- The 'snapped image' or 'grabbed frame' referred to above, is the file
- out-00000.rgb. In the default operation, there is always just this
- one file, which gets written over whenever 'grabndisp.sh' and
- 'grabnsave.sh' are run (both use vidtomem).
-
- options:
- --------
- To see 'specialfx' command line options, type 'specialfx -h'.
- Note that the optional command line arguments must be specified in the
- order suggested for proper operation.
-
- Digital video input and output may be specified in one of 2 ways:
-
- 1) set the desired inputs and outputs using the video control panel,
- then run specialfx with no command line arguments (default mode).
-
- 2) use the command line options -v <videonode> and -o <videonode> to
- set the input and output video nodes respectively, where 'videonode'
- is an integer with one the following values: 0 (analog), 1 (digital 1),
- or 2 (digital 2).
-
- vidpaint:
- ---------
- Vidpaint captures video into memory at the 1/4 by 1/4 size (1/8 the area
- of the full size of the source you are using), and then draws the frames into
- a window. You can 'paint' with the frames by pressing down on the left mouse
- button and dragging the mouse around. The middle mouse button clears the
- background, and the right mouse button brings up a pop up menu with many
- options which you can experiment with. If you run vidpaint independently,
- without having first run specialfx, you may have to make sure that the device
- SYNC is set to SLAVE mode. The input source will be the current default
- setting, which you can set with the videopanel. If 'specialfx' is running,
- the input used by 'specialfx' will become the input for vidpaint.
-
- vidtmesh:
- ---------
- Vidtmesh captures video into memory at the 1/4 by 1/4 size, (1/8 the area
- of the full size of the source you are using) and places the frames onto a 3D
- triangle mesh (tmesh) grid, which you can then manipulate in space. The left
- mouse button zooms up and down, the middle mouse allows you to rotate the
- grid, and as in vidpaint, the right mouse brings up a pop up menu with several
- options which you can experiment with. If you run vidtmesh independently,
- without having first run specialfx, you may have to make sure that the device
- SYNC is set to SLAVE mode. The input source will be the current default
- setting, which you can set with the videopanel. If 'specialfx' is running,
- the input used by 'specialfx' will become the input for vidtmesh.
-
-
- bigvideoin:
- ----------
- A very simple mini application which shows a zoomed up videoin window which
- nearly fills your display with video.
-
- trails:
- -------
- A specialty program which sets up a feedback loop so that you can see
- trailing effects. This program requires a lot of fine tuning based upon
- your incoming picture content. One generally needs to run the example
- blending control interface,
-
- /usr/people/4Dgifts/examples/video/vl/keyctls
-
- and also experiment with the Pro/Video Input and Pro/Video Output control
- panels of the video control panel (videopanel).
-
-
- Known bugs, limitations and/or explanation of specific behaviors:
- ---------------------------------------------------------------------------
- - Other apps such as video input must be exited before running 'specialfx',
- otherwise the program will exit with a startup error.
-
- - Running other apps while 'specialfx' is running may leave 'specialfx' in
- an inoperable condition. Quitting and starting over again may be
- necessary.
-
- - There is a flickering line at the very top of the video blending window
- ('specialfx'). This is similar to the behavior seen in 'videoin'. One
- way to stop seeing this line on your screen (note that it should not
- exist on your video output) is to push the window down against the bottom
- edge of your screen until the top window border comes down and cuts off
- the flickering line. This may be resolvable in a future release.
-
- - In zoomed down modes, there may sometimes be some jittery behavior or
- misalighed video in the zoomed down video window initially. Zooming up and
- then back down usually fixes the image. Also, if an additional video input
- window is started, the placement of the two windows may be sensitive - there
- may be many positions which may result in poor video image quality. This is
- likely a software issue which should be resolved in a future release.
-
- - When the buttons on the switch control window ('specialfx') are pressed,
- there will occasionally be a slight flash from graphics to video or vice
- versa, just before the switch occurs. This is a VL implemenation issue
- which will likely be improved/fixed/changed in a future release.
-
- - 'bigvideoin' may not work properly if other apps are running video input
- windows. Exit other video-in windows for best results.
-
- - the 'Grab and Display' and 'Grab and Save' functions currently attempt to
- write a captured frame to /var/tmp/out-00000.rgb. In some cases this file
- may exist and have write restrictions which cannot be overcome. In these
- cases, you will see the message,
-
- 'iopen: can't open output file out-00000.rgb'
-
- You may try to delete or move the current copy in /var/tmp in order to
- allow you to write a new one.
-
- - It has been observed, in rare circumstances, that running 'vidpaint' or
- 'vidtmesh' while 'specialfx' is running, may result in strong flickering
- both in the blending window and in the output display. This is strictly
- a software issue, which will likely be fixed in a future release.
- Quitting from the 'specialfx' program and running some other standalone
- apps such as /usr/people/4Dgifts/examples/video/vl/simpleblend, or
- 'trails', or 'bigvideoin' and then returning to 'specialfx' should fix
- the situation.
-